<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      // 工厂模式 ： 类 的概念 描述一类事物；
      // 约定俗成 ： 表述类的时候 首字母大写；
      function Tab(name) {
        let obj = {};
        obj.name = name;
        obj.fn = function () {
          console.log("fn");
        };
        return obj;
      }

      // 具象化  可以得到对象
      let tab1 = Tab("张三");
      let tab2 = Tab("李四");
      let tab3 = Tab("王五");
      // console.log(tab1);
      // console.log(tab2);
      // console.log(tab3);
      console.log(tab1.fn === tab2.fn); // 如果是true 那么是一个空间 且值相同；

      // let obj = {
      //     fn(){
      //         console.log("fn")
      //     }
      // }

      // let obj2 = obj;
      // console.log(obj.fn===obj2.fn);

      // 工厂模式 缺点： 1.指代不明；（不清楚哪一个对象出自哪一个工厂）;
      // 2.没有公共空间存放相同的内容；
    </script>
  </body>
</html>
